Determining Specular Reflectivity Characteristics Using LiDAR

ABSTRACT

Aspects of the present disclosure involve systems, methods, and devices for determining specular reflectivity characteristics of objects using a Lidar system of an autonomous vehicle (AV) system. A method includes transmitting at least two light signals directed at a target object utilizing the Lidar system of the AV system. The method further includes determining at least two reflectivity values for the target object based on return signals corresponding to the at least two light signals. The method further includes classifying specular reflectivity characteristics of the target object based on a comparison of the first and second reflectivity value. The method further includes updating a motion plan for the AV system based on the specular reflectivity characteristics of the target object.

CLAIM FOR PRIORITY

This application claims the benefit of priority of U.S. ProvisionalApplication Ser. No. 62/680,338, filed Jun. 4, 2018, which is herebyincorporated by reference in its entirety.

TECHNICAL FIELD

The subject matter disclosed herein relates to light detection andranging (Lidar) systems. In particular, example embodiments may relateto systems and methods for determining specular reflectivitycharacteristics of objects using a Lidar system.

BACKGROUND

Lidar is a radar-like system that uses lasers to createthree-dimensional representations of surrounding environments. A Lidarunit includes at least one laser emitter paired with a detector to forma channel, though an array of channels may be used to expand the fieldof view of the Lidar unit. During operation, each channel emits a lasersignal into the environment that is reflected off of the surroundingenvironment back to the detector. A single channel provides a singlepoint of ranging information. Collectively, channels are combined tocreate a point cloud that corresponds to a three-dimensionalrepresentation of the surrounding environment. The Lidar unit alsoincludes circuitry to measure the time of flight (ToF) (i.e., theelapsed time from emitting the laser signal to detecting the returnsignal). The ToF is used to determine the distance of the Lidar unit tothe detected object.

Increasingly, Lidar is finding applications in autonomous vehicle (AV)systems such as partially or fully autonomous cars. Lidar systems for AVsystems typically include an array of lasers (“emitters”) and an arrayof detectors, as discussed above. Autonomous vehicles use Lidar for anumber of functions, including localization, perception, prediction, andmotion planning.

Objects may have reflectivity characteristics that vary based on thedirection of reflection. For example, a diffuse object such as a pieceof paper reflects light in all directions almost uniformly, whereas aspecular object such as a mirror reflects light most strongly in onedirection (perpendicular to the surface of the mirror).

BRIEF DESCRIPTION OF THE DRAWINGS

Various ones of the appended drawings merely illustrate exampleembodiments of the present inventive subject matter and cannot beconsidered as limiting its scope.

FIG. 1 is a block diagram illustrating an example AV system, accordingto some embodiments.

FIG. 2 is block diagram illustrating a Lidar unit, which may be includedas part of the AV system illustrated in FIG. 1, according to someembodiments.

FIG. 3 is a conceptual diagram illustrating a high-level overview of aprocess performed as part of determining specular reflectivitycharacteristics of objects, according to some embodiments.

FIGS. 4 and 5 are flowcharts illustrating example operations of the AVsystem in performing a method for updating a motion plan of the AVsystem based on determined specular reflectivity characteristics ofobjects, according to some embodiments.

FIG. 6 is a flowchart illustrating example operations of the AV systemin performing a method for updating map data based on determinedspecular reflectivity characteristics of objects, according to someembodiments.

FIG. 7 is a flowchart illustrating example operations of the AV systemin performing a method for processing point data based on determinedspecular reflectivity characteristics of a target object, according tosome embodiments.

FIG. 8 is a diagrammatic representation of a machine in the example formof a computer system within which a set of instructions for causing themachine to perform any one or more of the methodologies discussed hereinmay be executed.

DETAILED DESCRIPTION

Reference will now be made in detail to specific example embodiments forcarrying out the inventive subject matter. Examples of these specificembodiments are illustrated in the accompanying drawings, and specificdetails are set forth in the following description in order to provide athorough understanding of the subject matter. It will be understood thatthese examples are not intended to limit the scope of the claims to theillustrated embodiments. On the contrary, they are intended to coversuch alternatives, modifications, and equivalents as may be includedwithin the scope of the disclosure.

In the context of AV systems that rely upon Lidar systems forlocalization, perception, prediction, and motion planning, specular ordiffuse reflectivity characteristics of objects can lead to issuesbecause of both false positives and false negatives in terms of objectdetection. For example, depending on the specular reflectivitycharacteristics of an object, the AV systems may, in some instances, notdetect an object, while in other instances, the AV system may detect anobject that is not actually there. Either instance can be problematicfor downstream processing by the localization, perception, prediction,and motion planning systems of the AV system.

Aspects of the present disclosure involve systems, methods, and devicesfor determining specular reflectivity characteristics of objects usingone or more Lidar units. In accordance with some embodiments, a methodincludes transmitting at least two light signals directed at a targetobject utilizing a Lidar system of an AV system. The method furtherincludes determining at least two reflectivity values for a targetobject based on return signals corresponding to the at least two lightsignals. Each reflectivity value may be determined based on an intensityof the return signal reflected by the target object and a distancetravelled by the return light signal. The intensity of the return signalis given by an intensity value included in point data received from theLidar system. The point data also includes a ToF for each return signal,from which the distance traveled by the return signal may be determined.The method further includes classifying the specular reflectivitycharacteristics of the target object based on a comparison of the firstand second reflectivity value. The classifying of the specularreflectivity characteristics of the target object may includingcomputing a specular reflectivity value that provides a measure ofspecular reflectivity characteristics of the target object.

Consistent with some embodiments, the determined specular reflectivitycharacteristics for the target object may be used by a computing systemof an AV system in down-stream perception, path prediction, and motionplanning processes. For example, a motion plan for the AV system may beupdated based on the specular reflectivity characteristics. In someinstances, state data for the target object may be updated to include anindication of the specular reflectivity characteristics of the targetobject, and the motion plan is updated in response to the indication ofthe specular reflectivity characteristics of the target object in thestate data. In other instances, map data utilized by the computingsystem of an AV system may be updated to include the indication of thespecular reflectivity characteristics of the target object.

Consistent with some embodiments, the method may include classifying thespecular reflectivity characteristic of the target object according toone of multiple levels of specular reflectivity based on the specularreflectivity value. Consistent with these embodiments, indications ofthe of the specular reflectivity characteristic of the target objectincluded in state data or map data may be or include the specularreflectivity classification of the target object.

Multiple Lidar configurations are contemplated for the Lidar system. Forexample, in a multiple Lidar unit configuration, point data from a firstLidar unit may be used to derive the first reflectivity value, and pointdata from a second Lidar unit may be used to derive the secondreflectivity value. As another example, in a single Lidar unitconfiguration, point data from a first channel of a Lidar unit may beused to derive the first reflectivity value, and point data from asecond channel of the Lidar unit may be used to derive the secondreflectivity value. As yet another example of the single Lidar unitconfiguration, point data from a channel of a Lidar unit associated witha first timestamp may be used to derive the first reflectivity value,and point data from the same or another channel of the same Lidar unitassociated with a second timestamp may be used to derive the secondreflectivity value.

With reference to FIG. 1, an example autonomous vehicle (AV) system 100is illustrated, according to some embodiments. To avoid obscuring theinventive subject matter with unnecessary detail, various functionalcomponents that are not germane to conveying an understanding of theinventive subject matter have been omitted from FIG. 1. However, askilled artisan will readily recognize that various additionalfunctional components may be included as part of the autonomous AVsystem 100 to facilitate additional functionality that is notspecifically described herein.

The autonomous AV system 100 is responsible for controlling a vehicle.The autonomous AV system 100 is capable of sensing its environment andnavigating without human input. The autonomous AV system 100 can includea ground-based autonomous vehicle (e.g., car, truck, bus, etc.), anair-based autonomous vehicle (e.g., airplane, drone, helicopter, orother aircraft), or other types of vehicles (e.g., watercraft).

The autonomous AV system 100 includes a vehicle computing system 102,one or more sensors 104, and one or more vehicle controls 116. Thevehicle computing system 102 can assist in controlling the autonomous AVsystem 100. In particular, the vehicle computing system 102 can receivesensor data from the one or more sensors 104, attempt to comprehend thesurrounding environment by performing various processing techniques ondata collected by the sensors 104, and generate an appropriate motionpath through such surrounding environment. The vehicle computing system102 can control the one or more vehicle controls 116 to operate theautonomous AV system 100 according to the motion path.

As illustrated in FIG. 1, the vehicle computing system 102 can includeone or more computing devices that assist in controlling the autonomousAV system 100. Vehicle computing system 102 can include a localizationsystem 106, a perception system 108, a prediction system 110, a motionplanning system 112, and a reflectivity processing system 120 thatcooperate to perceive the dynamic surrounding environment of theautonomous AV system 100 and determine a trajectory describing aproposed motion path for the autonomous AV system 100. Vehicle computingsystem 102 can additionally include a vehicle controller 114 configuredto control the one or more vehicle controls 116 (e.g., actuators thatcontrol gas flow (propulsion), steering, braking, etc.) to execute themotion of the autonomous AV system 100 to follow the trajectory.

In particular, in some implementations, any one of the localizationsystem 106, the perception system 108, the prediction system 110, themotion planning system 112, or the reflectivity processing system 120can receive sensor data from the one or more sensors 104 that arecoupled to or otherwise included within the autonomous AV system 100. Asexamples, the one or more sensors 104 can include a Lidar system 118, aRadio Detection and Ranging (RADAR) system, one or more cameras (e.g.,visible spectrum cameras, infrared cameras, etc.), and/or other sensors.The sensor data can include information that describes the location ofobjects within the surrounding environment of the autonomous AV system100.

As one example, for Lidar system 118, the sensor data can include pointdata that includes the location (e.g., in three-dimensional spacerelative to the Lidar system 118) of a number of points that correspondto objects that have reflected an emitted laser. For example, Lidarsystem 118 can measure distances by measuring the ToF that it takes ashort laser pulse to travel from the sensor(s) 104 to an object andback, calculating the distance from the known speed of light. The pointdata further includes an intensity value for each point, which, asdescribed above, can provide information about the reflectiveness of theobjects that have reflected an emitted laser. As will be described infurther detail below, the intensity return values may be normalized(e.g., by the Lidar system 118 or a component of the vehicle computingsystem 102) during vehicle operation to be more closely aligned with thereflectivity of the surfaces and objects that have reflected an emittedlaser. The normalization of the intensity return values may result inthe generation of reflectivity values that provide a measure ofreflectivity of the surfaces and objects that have reflected an emittedlaser.

As another example, for RADAR systems, the sensor data can include thelocation (e.g., in three-dimensional space relative to the RADAR system)of a number of points that correspond to objects that have reflected aranging radio wave. For example, radio waves (e.g., pulsed orcontinuous) transmitted by the RADAR system can reflect off an objectand return to a receiver of the RADAR system, giving information aboutthe object's location and speed. Thus, a RADAR system can provide usefulinformation about the current speed of an object.

As yet another example, for cameras, various processing techniques(e.g., range imaging techniques such as, for example, structure frommotion, structured light, stereo triangulation, and/or other techniques)can be performed to identify the location (e.g., in three-dimensionalspace relative to a camera) of a number of points that correspond toobjects that are depicted in imagery captured by the camera. Othersensor systems can identify the location of points that correspond toobjects as well.

As another example, the one or more sensors 104 can include apositioning system 122. The positioning system 122 can determine acurrent position of the autonomous AV system 100. The positioning system122 can be any device or circuitry for analyzing the position of theautonomous AV system 100. For example, the positioning system 122 candetermine position by using one or more of inertial sensors; a satellitepositioning system, based on Internet Protocol (IP) address, by usingtriangulation and/or proximity to network access points or other networkcomponents (e.g., cellular towers, WiFi access points, etc.); and/orother suitable techniques. The position of the autonomous AV system 100can be used by various systems of the vehicle computing system 102.

Thus, the one or more sensors 104 can be used to collect sensor datathat includes information that describes the location (e.g., inthree-dimensional space relative to the autonomous AV system 100) ofpoints that correspond to objects within the surrounding environment ofthe autonomous AV system 100.

In addition to the sensor data, the perception system 108, predictionsystem 110, motion planning system 112, and/or the reflectivityprocessing system 120 can retrieve or otherwise obtain map data 118 thatprovides detailed information about the surrounding environment of theautonomous AV system 100. The map data 118 can provide informationregarding: the identity and location of different travelways (e.g.,roadways, alleyways, trails, and other paths designated for travel),road segments, buildings, or other items or objects (e.g., lampposts,crosswalks, curbing, etc.); known reflectiveness (e.g., radiance) ofdifferent travelways (e.g., roadways), road segments, buildings, orother items or objects (e.g., lampposts, crosswalks, curbing, etc.); thelocation and directions of traffic lanes (e.g., the location anddirection of a parking lane, a turning lane, a bicycle lane, or otherlanes within a particular roadway or other travelway); traffic controldata (e.g., the location and instructions of signage, traffic lights, orother traffic control devices); and/or any other map data that providesinformation that assists the vehicle computing system 102 incomprehending and perceiving its surrounding environment and itsrelationship thereto.

In addition, according to an aspect of the present disclosure, the mapdata 118 can include information that describes a significant number ofnominal pathways through the world. As an example, in some instances,nominal pathways can generally correspond to common patterns of vehicletravel along one or more lanes (e.g., lanes on a roadway or othertravelway). For example, a nominal pathway through a lane can generallycorrespond to a center line of such lane.

The reflectivity processing system 120 receives some or all of thesensor data from sensors 104 and processes the sensor data to determinereflectivity characteristics of objects and surfaces. For example, thereflectivity processing system 120 may analyze reflectivity values basedon intensity return values measured by the Lidar system 118 to determinediffuse and specular reflectivity characteristics of objects andsurfaces. In analyzing the reflectivity values, the reflectivityprocessing system 120 computes specular reflectivity values that providea measure of a specular reflectivity characteristic of an object orsurface. Specular reflectivity values at or below a certain threshold(e.g., near zero) may indicate that an object or surface is diffusewhile specular reflectivity values above the threshold indicate theobject or surface has at least some specular reflectivitycharacteristics. The reflectivity processing system 120 may furtherclassify the specular reflectivity characteristics of objects andsurfaces based on the computed specular reflectivity values. Thereflectivity processing system 120 may provide specular reflectivityvalues and classifications to the perception system 108, the predictionsystem 110, and the motion planning system 112 for further processing.The reflectivity processing system 120 can also modify or update the mapdata 118 to include indications of the specular reflectivitycharacteristics of objects at geographic locations of the correspondingobjects.

The localization system 106 receives the map data 118 and some or all ofthe sensor data from sensors 104 and generates vehicle poses for the AVsystem 100. A vehicle pose describes the position and attitude of thevehicle. The position of the AV system 100 is a point in athree-dimensional space. In some examples, the position is described byvalues for a set of Cartesian coordinates, although any other suitablecoordinate system may be used. The attitude of the AV system 100generally describes the way in which the AV system 100 is oriented atits position. In some examples, attitude is described by a yaw about thevertical axis, a pitch about a first horizontal axis, and a roll about asecond horizontal axis. In some examples, the localization system 106generates vehicle poses periodically (e.g., every second, every halfsecond, etc.) The localization system 106 appends time stamps to vehicleposes, where the time stamp for a pose indicates the point in time thatis described by the pose. The localization system 106 generates vehicleposes by comparing sensor data (e.g., remote sensor data) to map data118 describing the surrounding environment of the AV system 100.

In some examples, the localization system 106 includes one or morelocalizers and a pose filter. Localizers generate pose estimates bycomparing remote sensor data (e.g., Lidar, RADAR, etc.) to map data 118.The pose filter receives pose estimates from the one or more localizersas well as other sensor data such as, for example, motion sensor datafrom an IMU, encoder, odometer, and the like. In some examples, the posefilter executes a Kalman filter or other machine learning algorithm tocombine pose estimates from the one or more localizers with motionsensor data to generate vehicle poses.

The perception system 108 can identify one or more objects that areproximate to the autonomous AV system 100 based on sensor data receivedfrom the one or more sensors 104 and/or the map data 118. In particular,in some implementations, the perception system 108 can determine, foreach object, state data that describes a current state of such object.As examples, the state data for each object can describe an estimate ofthe object's: current location (also referred to as position); currentspeed (also referred to as velocity); current acceleration; currentheading; current orientation; size/footprint (e.g., as represented by abounding shape such as a bounding polygon or polyhedron); class (e.g.,vehicle versus pedestrian versus bicycle versus other); yaw rate;specular or diffuse reflectivity characteristics; and/or other stateinformation.

In some implementations, the perception system 108 can determine statedata for each object over a number of iterations. In particular, theperception system 108 can update the state data for each object at eachiteration. Thus, the perception system 108 can detect and track objects(e.g., vehicles) that are proximate to the autonomous AV system 100 overtime. In some instances, the perception system 108 updates state datafor an object based on a specular reflectivity value of the objectcomputed the reflectivity processing system 120.

The prediction system 110 can receive the state data from the perceptionsystem 108 and predict one or more future locations for each objectbased on such state data. For example, the prediction system 110 canpredict where each object will be located within the next 5 seconds, 10seconds, 20 seconds, and so forth. As one example, an object can bepredicted to adhere to its current trajectory according to its currentspeed. As another example, other, more sophisticated predictiontechniques or modeling can be used.

The motion planning system 112 can determine a motion plan for theautonomous AV system 100 based at least in part on the predicted one ormore future locations for the object provided by the prediction system110 and/or the state data for the object provided by the perceptionsystem 108. Stated differently, given information about the currentlocations of objects and/or predicted future locations of proximateobjects, the motion planning system 112 can determine a motion plan forthe autonomous AV system 100 that best navigates the autonomous AVsystem 100 relative to the objects at such locations.

The motion plan can be provided from the motion planning system 112 to avehicle controller 114. In some implementations, the vehicle controller114 can be a linear controller that may not have the same level ofinformation about the environment and obstacles around the desired pathof movement as is available in other computing system components (e.g.,the perception system 108, prediction system 110, motion planning system112, etc.) Nonetheless, the vehicle controller 114 can function to keepthe autonomous AV system 100 reasonably close to the motion plan.

More particularly, the vehicle controller 114 can be configured tocontrol motion of the autonomous AV system 100 to follow the motionplan. The vehicle controller 114 can control one or more of propulsionand braking of the autonomous AV system 100 to follow the motion plan.The vehicle controller 114 can also control steering of the autonomousAV system 100 to follow the motion plan. In some implementations, thevehicle controller 114 can be configured to generate one or more vehicleactuator commands and to further control one or more vehicle actuatorsprovided within vehicle controls 116 in accordance with the vehicleactuator command(s). Vehicle actuators within vehicle controls 116 caninclude, for example, a steering actuator, a braking actuator, and/or apropulsion actuator.

Each of the localization system 106, the perception system 108, theprediction system 110, the motion planning system 112, the reflectivityprocessing system 120, and the vehicle controller 114 can includecomputer logic utilized to provide desired functionality. In someimplementations, each of the localization system 106, the perceptionsystem 108, the prediction system 110, the motion planning system 112,the reflectivity processing system 120, and the vehicle controller 114can be implemented in hardware, firmware, and/or software controlling ageneral-purpose processor. For example, in some implementations, each ofthe localization system 106, the perception system 108, the predictionsystem 110, the motion planning system 112, the reflectivity processingsystem 120 and the vehicle controller 114 includes program files storedon a storage device, loaded into a memory and executed by one or moreprocessors. In other implementations, each of the localization system106, the perception system 108, the prediction system 110, the motionplanning system 112, the reflectivity processing system 120, and thevehicle controller 114 includes one or more sets of computer-executableinstructions that are stored in a tangible computer-readable storagemedium such as RAM, hard disk, or optical or magnetic media.

FIG. 2 is block diagram illustrating the Lidar system 118, which may beincluded as part of the autonomous AV system 100, according to someembodiments. To avoid obscuring the inventive subject matter withunnecessary detail, various functional components that are not germaneto conveying an understanding of the inventive subject matter have beenomitted from FIG. 2. However, a skilled artisan will readily recognizethat various additional functional components may be included as part ofthe Lidar system 118 to facilitate additional functionality that is notspecifically described herein.

As shown, the Lidar system 118 comprises multiple channels 200;specifically, channels 1-N are illustrated. The Lidar system 118 mayinclude one or more Lidar units. Thus, the channels 1-N may be includedin a single Lidar unit or may be spread across multiple Lidar units.

Each channel 200 outputs point data that provides a single point ofranging information. Collectively, the point data output by each of thechannels 200 (i.e., point data_(1-N)) is combined to create a pointcloud that corresponds to a three-dimensional representation of thesurrounding environment.

Each channel 200 comprises an emitter 202 paired with a detector 204.The emitter 202 emits a laser signal into the environment that isreflected off the surrounding environment and returned back to a sensor206 (e.g., an optical detector) in the detector 204. Each emitter 202may have an adjustable power level that controls an intensity of theemitted laser signal. The adjustable power level allows the emitter 202to be capable of emitting the laser signal at one of multiple differentpower levels (e.g., intensities).

The sensor 206 provides the return signal to a read-out circuit 208 andthe read-out circuit 208, in turn, outputs the point data based on thereturn signal. The point data comprises a distance of the Lidar system118 from a detected surface (e.g., a road) that is determined by theread-out circuit 208 by measuring the ToF, which is the time elapsedtime between the emitter 202 emitting the laser signal and the detector204 detecting the return signal.

The point data further includes an intensity value corresponding to eachreturn signal. The intensity value indicates a measure of intensity ofthe return signal determined by the read-out circuit 208. As notedabove, the intensity of the return signal provides information about thesurface reflecting the signal and can be used by any one of thelocalization system 106, perception system 108, prediction system 110,and motion planning system 112 for localization, perception, prediction,and motion planning. The intensity of the return signals depends on anumber of factors, such as the distance of the Lidar system 118 to thedetected surface, the angle of incidence at which the emitter 202 emitsthe laser signal, temperature of the surrounding environment, thealignment of the emitter 202 and the detector 204, and the reflectivityof the detected surface.

As shown, the reflectivity processing system 120 receives the point datafrom the Lidar system 118 and processes the point data to classifyspecular reflectivity characteristics of objects. The reflectivityprocessing system 120 classifies the specular reflectivitycharacteristics of objects based on a comparison of reflectivity valuesderived from intensity values of return signals. In some embodiments,the Lidar system 118 can be calibrated to produce the reflectivityvalues. For example, the read-out circuit 208 or another component ofthe Lidar system 118 may be configured to normalize the intensity valuesto produce the reflectivity values. In these embodiments, thereflectivity values may be included in the point data received by thereflectivity processing system 120 from the Lidar system 118. In otherembodiments, the reflectivity processing system 120 may generate thereflectivity values based on intensity return values included in thepoint data received from the Lidar system 118.

Regardless of which component is responsible for generating thereflectivity values, the process for doing so may, in some embodiments,include using a linear model to compute one or more calibrationmultipliers and one or more bias values to be applied to returnintensity values. Depending on the embodiment, a calibration multiplierand bias value may be computed for and applied to each channel of theLidar system 118 at each power level. The linear model assumes a uniformdiffuse reflectivity for all surfaces and describes an expectedintensity value as a function of a raw intensity variable, a calibrationmultiplier variable, and a bias variable. The computing of thecalibration multiplier and bias value for each channel/power levelcombination includes determining a median intensity value based on theraw intensity values output by the channel at the power level and usingthe median intensity value as the expected intensity value in the linearmodel while optimizing values for the calibration multiplier variableand bias variable. As an example, the calibration multiplier and biasvalue may be computed by solving the linear model using an IteratedRe-weighted Least Squares approach.

The calibration multiplier and bias value computed for each channel ateach power level is assigned to the corresponding channel/power levelcombination. In this way, each power level of each channel of the Lidarsystem 118 has an independently assigned calibration multiplier and biasvalue from which reflectivity values may be derived. Once assigned, thecalibration multiplier and bias value of each channel/power levelcombination are used at run-time to determine reflectivity values fromsubsequent intensity values produced by the corresponding channel at thecorresponding power level during operation of an autonomous orsemi-autonomous vehicle. More specifically, reflectivity values aredetermined from the linear model by using the value of the calibrationmultiplier and the bias value for the calibration multiplier variableand bias variable, respectively. In this manner, the intensity valuesare normalized to be more aligned with the reflectivity of a surface bytaking into account factors such as the distance of the Lidar system 118to the detected surface, the angle of incidence at which the emitter 202emits the laser signal, temperature of the surrounding environment, andthe alignment of the emitter 202 and the detector 204.

FIG. 3 is a conceptual diagram illustrating a high-level overview of aprocess performed as part of determining specular reflectivitycharacteristics of objects, according to some embodiments. In thecontext of FIG. 3, one or more emitting lasers (e.g., an emitter 202)may transmit two light signals directed at a target object 300. The twolight signals are reflected back by the target object 300 and returnsignals 302 and 304 are received at sensors 306 and 308, respectively.The return signal 302 is produced as a result of the first light signalbeing reflected by the target object 300 and return signal 304 isproduced as a result of the second light signal being reflected by thetarget object 300.

The return signal 302 has a reflectivity value of R1 and the returnsignal 304 has a reflectivity value of R2. Each of the reflectivityvalues indicate reflectivity characteristics of the target object 300.

The sensors 306 and 308 can be any optical detector capable of detectinglight, such as a sensor 206 of the Lidar system 118. Depending on theembodiment, the sensors 306 and 308 may correspond to sensors 206included in different Lidar units, sensors 206 included in differentchannels of the same Lidar unit, or the sensors 306 and 308 may eachcorrespond to the same sensor 206 within the same Lidar unit. Forexample, in one embodiment, the sensor 306 corresponds to a sensor 206of a first Lidar unit and the sensor 308 corresponds to a sensor 206 ofa second Lidar unit. In another embodiment, the sensor 306 correspondsto a sensor 206 of a first channel of a Lidar unit and the sensor 308corresponds to a sensor 206 of a second channel of the Lidar unit. Inyet another embodiment, both the sensors 306 and 308 correspond to thesame sensor 206 of a Lidar unit, and the return signals 302 and 304 maybe received at different times.

In some embodiments, the sensors 306 and 308 can be calibrated tomeasure the reflectivity values of return signals 302 and 304,respectively. In these embodiments, the reflectivity values R1 and R2may be included in point data produced by the Lidar system 118. In otherembodiments, one or more components in communication (e.g., thereflectivity processing system 120 or a read-out circuit 208) with thesensors 306 and 308 may determine the reflectivity values based on acombination of factors such as the distance traveled by the returnsignals 302 and 304 (shown as D1 and D2, respectively), an intensity ofthe emitted light signals (e.g., determined by a power level of acorresponding emitter 202), an angle of incidence at which the lightsignals are emitted, and an intensity of the return signals 302 and 304,among others.

The reflectivity processing system 120 may compare the reflectivityvalues R1 and R2 to determine a specular reflectivity value thatdescribes specular reflectivity characteristics of the target object300. For example, the reflectivity processing system 120 may determinethe specular reflectivity value using the following formula:

Specular reflectivity value=(|R1−R2|)/(R1+R2)

If the target object 300 has at least some level of specularreflectivity, it is expected that the reflectivity values R1 and R2 willbe different assuming that the angles of incidence between the tworeturn signals 302 and 304 are sufficiently different. Thus, accordingto above formula, if the first and second reflectivity values are thesame, the specular reflectivity of the target object is zero and thus,the target object 300 is diffuse. Otherwise, the specular reflectivityvalue describes a level of specular reflectivity of the target object300. More specifically, a higher specular reflectivity value describes ahigher level of specular reflectivity for the target object 300. Itshall be appreciated that the formula referenced above is merely anexample of how the specular reflectivity value may be determinedaccording to some embodiments, and in other embodiments, other formulas,algorithms or techniques may be employed.

As noted above, the formula used for computing the specular reflectivityvalue assumes that the angles of incidence between the two returnsignals 302 and 304 are sufficiently different. That is, the formulaassumes that the angular difference, θ, between the return signals 302and 304 is above a threshold angular difference (e.g., 0°). Accordingly,prior to computing the specular reflectivity value, the reflectivityprocessing system 120 may verify that the angular difference, θ, betweenthe return signals 302 and 304 is above the threshold angular difference(e.g., 0°).

In some embodiments, the reflectivity processing system 120 maydetermine the angular difference, θ, based, in part, on the distances,D1, D2, and D3. For example, the distances D1 and D2 may be determinedbased on respective ToF values of the return signals 302 and 304measured by the sensors 306 and 308 along with the known speed of light.In embodiments in which the return signals 302 and 304 are received bydifferent sensors (e.g., sensors in different channels of the same Lidarunit or sensors in different Lidar units), an offset distance, D3,between the sensors 306 and 308 is a fixed known distance. Inembodiments in which sensors 306 and 308 correspond to the same sensor206 of the same Lidar unit, the reflectivity processing system 120 mayutilize the distances D1 and D2 to determine the distance D3. Thereflectivity processing system 120 may further utilize data produced byother components of the vehicle computing system 102 such as map data118, vehicle poses, object state data, predicted object trajectoriespredicted, and/or motion plans to determine additional informationneeded to determine the angular difference, θ. For example, thereflectivity processing system 120 may use such data to determine anangle of incidence of one or more of the return signals 302 and 304.

Additionally, prior to computing the specular reflectivity value, thereflectivity processing system 120 may verify that the reflectivityvalues R1 and R2 both correspond to the target object 300. That is, thereflectivity processing system 120 may confirm that both return signals302 and 304 are produced as a result of light signals reflected by thetarget object 300 rather than by multiple objects. The reflectivityprocessing system 120 may utilize data produced by other components ofthe vehicle computing system 102 to perform this verification. Forexample, the reflectivity processing system 120 may analyze point dataproduced by the Lidar system 118, map data 118, vehicle poses generatedby the localization system 106, object state data generated by theperception system 108, object trajectories predicted by the predictionsystem, and/or motion plans generated by the motion prediction system110 in light of the distances D1 and D2 between the sensors 306 and 308and the target object 300 (e.g., determined based on the ToF of thereturn signals 302 and 304) to verify that the reflectivity values R1and R2 both correspond to the target object 300.

FIGS. 4 and 5 are flowcharts illustrating example operations of the AVsystem in performing a method 400 for updating a motion plan of the AVsystem based on determined specular reflectivity characteristics ofobjects, according to some embodiments. The method 400 may be embodiedin computer-readable instructions for execution by a hardware component(e.g., a processor) such that the operations of the method 400 may beperformed by one or more components of the AV system 100. Accordingly,the method 400 is described below, by way of example with referencethereto. However, it shall be appreciated that the method 400 may bedeployed on various other hardware configurations and is not intended tobe limited to deployment on the vehicle computing system 102.

At operation 405, the Lidar system 118 transmits a first light signaldirected at a target object. At operation 410, the reflectivityprocessing system 120 determines a first reflectivity value associatedwith the target object based on a first return signal received at theLidar system 118 after transmitting the first light signal. The firstreturn signal results from the first light signal being reflected backto the Lidar system 118 by the target object. The first reflectivityvalue includes a first measure of the reflectivity of the target object.

At operation 415, the Lidar system 118 transmits a second light signaldirected at the target object. At operation 420, the reflectivityprocessing system 120 determines a second reflectivity value associatedwith the target object based on a second return signal received at theLidar system 118 after transmitting the second light signal. The secondreturn signal results from the second light signal being reflected backto the Lidar system 118 by the target object. The second reflectivityvalue includes a second measure of the reflectivity of the targetobject.

The reflectivity processing system 120 may access point data obtainedfrom the Lidar system 118 to determine the first and second reflectivityvalues. For example, as noted above, in some embodiments, the Lidarsystem 118 may be calibrated to produce reflectivity values andincorporate them into point data, and the reflectivity processing system120 may determine the first and second reflectivity values from thepoint data. In other embodiments, the reflectivity processing system 120may access point data obtained from the Lidar system 118 to determinethe first and second intensity values, from which the reflectivityprocessing system may derive the first and second reflectivity values.

In some embodiments, a first channel of a Lidar unit can transmit thefirst light signal and receive the first return signal while a secondchannel of a Lidar unit can transmit the second light signal and receivethe second return signal. Depending on the embodiment, the first andsecond channel may correspond to the same Lidar unit or the first andsecond channel may correspond to different Lidar units. For example, inembodiments in which the Lidar system 118 includes multiple Lidar units,the first light signal can be transmitted by a first Lidar unit and thefirst return signal can be received by the first Lidar unit. In thisexample, the second light signal can be transmitted by a second lidarunit and the second return signal can be received by the second Lidarunit. In other embodiments, the first and second light signals can betransmitted at different times by the same channel of the same Lidarunit, and the first and second return signals are received by the samechannel of the same Lidar unit, albeit at different times.

At operation 425, the reflectivity processing system 120 classifies thespecular reflectivity characteristics of the target object based on acomparison of the first and second reflectivity values. The reflectivityprocessing system 120 may classify the specular reflectivitycharacteristics of the target object according to one of multiple levelsof specular reflectivity. In some embodiments, the specular reflectivitycharacteristics of the target object may be classified using aquantitative indication of specularity (e.g., a number between 0 and 1).In some embodiments, the specular reflectivity characteristics of thetarget object may be classified in a binary manner simply as eitherdiffuse or specular. In other embodiments, the specular reflectivitycharacteristics of the target object may be classified according to moregranular specular reflectivity classifications such as, for example:diffuse, partially specular, mostly specular, and completely specular.

As will be discussed further below, the classifying of the specularreflectivity characteristics of the target object may include computinga specular reflectivity value for the target object. The reflectivityprocessing system 120 may compare the specular reflectivity value to oneor more threshold values to classify the specular reflectivitycharacteristics of the target object. Each threshold value correspondsto a level of specular reflectivity. For example, in embodiments inwhich the specular reflectivity characteristics of the target object maybe classified in a binary manner, the reflectivity processing system 120may classify the target object as being specular if the specularreflectivity value is above a threshold (e.g., zero). In this example,the reflectivity processing system 120 may classify the target object asbeing diffuse if the specular reflectivity value is not above thethreshold.

As another example, in embodiments in which the reflectivity processingsystem 120 classifies the specular reflectivity characteristics of thetarget object according to more granular specular reflectivityclassifications, the reflectivity processing system 120 may classify thetarget object as: partially specular based on the specular reflectivityvalue exceeding a first threshold; mostly specular based on the specularreflectivity value exceeding a second threshold; completely specularbased on the specular reflectivity value exceeding a third threshold; ordiffuse based on the specular reflectivity value not exceeding any ofthe first, second, or third thresholds.

At operation 430, the motion planning system 112 updates a motion planfor the AV system 100 based on the specular reflectivity classificationof the target object. In an example, the specular reflectivityclassification of the target object may cause the motion planning system112 to update the motion plan for the AV system 100 to avoid the targetobject where the motion plan would have otherwise caused the AV system100 to collide with the object. In another example, the specularreflectivity classification of the target object may cause the motionplanning system 112 to update the motion plan for the AV system 100 topass over the target object where the motion plan would have otherwisecaused the AV system 100 to proceed on a path that would haveunnecessarily avoided the target object.

As shown in FIG. 5, the method 400 may, in some embodiments, furtherinclude operations 426 and 427. Consistent with some embodiments, theoperations 426 and 427 may be performed prior to (e.g., as precursortasks), or as part of (e.g., subroutines), operation 425, where thereflectivity processing system 120 classifies the specular reflectivitycharacteristics of the target object.

At operation 426, the reflectivity processing system 120 computes aspecular reflectivity value corresponding to the target object based ona comparison of the first reflectivity value and the second reflectivityvalue. The specular reflectivity value indicates specular reflectivitycharacteristics of the target object. As noted above, the reflectivityprocessing system 120 may, for example, compute the specularreflectivity value according to the following formula:

Specular reflectivity value=(2|R1−R2|)/(R1+R2)

where R1 is the first reflectivity value and R2 is the secondreflectivity value. According to this formula, if the first and secondreflectivity values are the same, the specular reflectivity of thetarget object is zero and thus, the target object is diffuse. As notedabove, the above referenced formula is merely an example of how thespecular reflectivity value is determined according to some embodiments,and in other embodiments, other formulas, algorithms, or techniques maybe used for determining the specular reflectivity value.

At operation 427, the reflectivity processing system 120 updates statedata corresponding to the target object to include an indication of thespecular reflectivity characteristics of the target object. Thereflectivity processing system 120 may, for example, update the statedata to include an indication of the specular reflectivity value of thetarget object, the specular reflectivity classification of the targetobject, or a combination of both.

FIG. 6 is a flowchart illustrating example operations of the AV system100 in performing a method 600 for updating map data based on determinedspecular reflectivity characteristics of a target object, according tosome embodiments. The method 600 may, in some embodiments, be performedsubsequent to the method 400. The method 600 may be embodied incomputer-readable instructions for execution by a hardware component(e.g., a processor) such that the operations of the method 600 may beperformed by one or more components of the AV system 100. Accordingly,the method 600 is described below, by way of example with referencethereto. However, it shall be appreciated that the method 600 may bedeployed on various other hardware configurations and is not intended tobe limited to deployment on the vehicle computing system 102.

At operation 605, the Lidar system 118 transmits a first light signaldirected at a target object. At operation 610, the reflectivityprocessing system 120 determines a first reflectivity value associatedwith the target object based on a first return signal received at theLidar system 118 after transmitting the first light signal. The firstreturn signal results from the first light signal being reflected backto the Lidar system 118 by the target object. The first reflectivityvalue includes a first measure of the reflectivity of the target object.

At operation 615, the Lidar system 118 transmits a second light signaldirected at the target object. At operation 620, the reflectivityprocessing system 120 determines a second reflectivity value associatedwith the target object based on a second return signal received at theLidar system 118 after transmitting the second light signal. The secondreturn signal results from the second light signal being reflected backto the Lidar system 118 by the target object. The second reflectivityvalue includes a second measure of the reflectivity of the targetobject.

The reflectivity processing system 120 may access point data obtainedfrom the Lidar system 118 to determine the first and second reflectivityvalues. For example, as noted above, in some embodiments, the Lidarsystem 118 may be calibrated to produce reflectivity values andincorporate them into point data, and the reflectivity processing system120 may determine the first and second reflectivity values from thepoint data. In other embodiments, the reflectivity processing system 120may access point data obtained from the Lidar system 118 to determinethe first and second intensity values, from which the reflectivityprocessing system may derive the first and second reflectivity values.

At operation 625, the reflectivity processing system 120 classifies thespecular reflectivity characteristics of the target object based on acomparison of the first and second reflectivity values. The reflectivityprocessing system 120 may classify the specular reflectivitycharacteristics of the target object in the same manner as describedabove with reference to FIGS. 4 and 5.

At operation 630, the reflectivity processing system 120 updates the mapdata 118 to include an indication of the specular reflectivitycharacteristics of the target object. In particular, the reflectivityprocessing system 120 may update the map data 118 to include anindication of the specular reflectivity classification of the targetobject, a specular reflectivity value of the target object or acombination of both at a geographic location of the target object. Theindication of the specular reflectivity classification of the targetobject included in the map data 118 may provide a basis for a subsequentAV system to modify a motion plan.

FIG. 7 is a flowchart illustrating example operations of the AV system100 in performing a method 700 for processing point data based ondetermined specular reflectivity characteristics of a target object,according to some embodiments. The method 700 may, in some embodiments,be performed subsequent to any one of the methods 400 and 600. Themethod 700 may be embodied in computer-readable instructions forexecution by a hardware component (e.g., a processor) such that theoperations of the method 700 may be performed by one or more componentsof the AV system 100. Accordingly, the method 700 is described below, byway of example with reference thereto. However, it shall be appreciatedthat the method 700 may be deployed on various other hardwareconfigurations and is not intended to be limited to deployment on thevehicle computing system 102.

At operation 705, a component of the vehicle computing system 102 (e.g.,the localization system 106, the perception system 108, or theprediction system 110) accesses point data produced by the Lidar system118 comprising a plurality of points. At operation 710, the component ofthe vehicle computing system 102 determines at least a portion of theplurality of points corresponds to the target object. For example, thelocalization system 106 or the perception system 108 may utilize the mapdata 118 to correlate the location of one or more points in the pointdata to the known or predicted location of the target object.

At operation 715, the component of the vehicle computing system 102accesses state data for the target object in response to determiningthat at least a portion of the plurality of points correspond to thetarget object. As noted above, the state data includes an indication ofthe specular reflectivity characteristics of the target object such as aspecular reflectivity score and/or a specular reflectivitycharacterization. At operation 720, the component of the vehiclecomputing system 102 processes the point data based on the indication ofthe specular reflectivity characteristics of the target object. Forexample, the component of the vehicle computing system 102 may filterout or otherwise ignore the portion of the plurality of points thatcorrespond to the target object.

FIG. 8 illustrates a diagrammatic representation of a machine 800 in theform of a computer system within which a set of instructions may beexecuted for causing the machine 800 to perform any one or more of themethodologies discussed herein, according to an example embodiment.Specifically, FIG. 8 shows a diagrammatic representation of the machine800 in the example form of a computer system, within which instructions816 (e.g., software, a program, an application, an applet, an app, orother executable code) for causing the machine 800 to perform any one ormore of the methodologies discussed herein may be executed. For example,the instructions 816 may cause the machine 800 to execute the methods400 and 600. In this way, the instructions 816 transform a general,non-programmed machine into a particular machine 800, such as thevehicle computing system 102, that is specially configured to carry outthe described and illustrated functions in the manner described here. Inalternative embodiments, the machine 800 operates as a standalone deviceor may be coupled (e.g., networked) to other machines. In a networkeddeployment, the machine 800 may operate in the capacity of a servermachine or a client machine in a server-client network environment, oras a peer machine in a peer-to-peer (or distributed) networkenvironment. The machine 800 may comprise, but not be limited to, aserver computer, a client computer, a personal computer (PC), a tabletcomputer, a laptop computer, a netbook, a smart phone, a mobile device,a network router, a network switch, a network bridge, or any machinecapable of executing the instructions 816, sequentially or otherwise,that specify actions to be taken by the machine 800. Further, while onlya single machine 800 is illustrated, the term “machine” shall also betaken to include a collection of machines 800 that individually orjointly execute the instructions 816 to perform any one or more of themethodologies discussed herein.

The machine 800 may include processors 810, memory 830, and input/output(I/O) components 850, which may be configured to communicate with eachother such as via a bus 802. In an example embodiment, the processors810 (e.g., a central processing unit (CPU), a reduced instruction setcomputing (RISC) processor, a complex instruction set computing (CISC)processor, a graphics processing unit (GPU), a digital signal processor(DSP), an application-specific integrated circuit (ASIC), aradio-frequency integrated circuit (RFIC), another processor, or anysuitable combination thereof) may include, for example, a processor 812and a processor 814 that may execute the instructions 816. The term“processor” is intended to include multi-core processors 810 that maycomprise two or more independent processors (sometimes referred to as“cores”) that may execute instructions contemporaneously. Although FIG.8 shows multiple processors 810, the machine 800 may include a singleprocessor with a single core, a single processor with multiple cores(e.g., a multi-core processor), multiple processors with a single core,multiple processors with multiple cores, or any combination thereof.

The memory 830 may include a main memory 832, a static memory 834, and astorage unit 836, both accessible to the processors 810 such as via thebus 802. The main memory 832, the static memory 834, and the storageunit 836 store the instructions 816 embodying any one or more of themethodologies or functions described herein. The instructions 816 mayalso reside, completely or partially, within the main memory 832, withinthe static memory 834, within the storage unit 836, within at least oneof the processors 810 (e.g., within the processor's cache memory), orany suitable combination thereof, during execution thereof by themachine 800.

The I/O components 850 may include components to receive input, provideoutput, produce output, transmit information, exchange information,capture measurements, and so on. The specific I/O components 850 thatare included in a particular machine 800 will depend on the type ofmachine. For example, portable machines such as mobile phones willlikely include a touch input device or other such input mechanisms,while a headless server machine will likely not include such a touchinput device. It will be appreciated that the I/O components 850 mayinclude many other components that are not shown in FIG. 8. The I/Ocomponents 850 are grouped according to functionality merely forsimplifying the following discussion and the grouping is in no waylimiting. In various example embodiments, the I/O components 850 mayinclude output components 852 and input components 854. The outputcomponents 852 may include visual components (e.g., a display such as aplasma display panel (PDP), a light emitting diode (LED) display, aliquid crystal display (LCD), a projector, or a cathode ray tube (CRT)),acoustic components (e.g., speakers), other signal generators, and soforth. The input components 854 may include alphanumeric inputcomponents (e.g., a keyboard, a touch screen configured to receivealphanumeric input, a photo-optical keyboard, or other alphanumericinput components), point-based input components (e.g., a mouse, atouchpad, a trackball, a joystick, a motion sensor, or another pointinginstrument), tactile input components (e.g., a physical button, a touchscreen that provides location and/or force of touches or touch gestures,or other tactile input components), audio input components (e.g., amicrophone), and the like.

Communication may be implemented using a wide variety of technologies.The I/O components 850 may include communication components 864 operableto couple the machine 800 to a network 880 or devices 870 via a coupling882 and a coupling 872, respectively. For example, the communicationcomponents 864 may include a network interface component or anothersuitable device to interface with the network 880. In further examples,the communication components 864 may include wired communicationcomponents, wireless communication components, cellular communicationcomponents, and other communication components to provide communicationvia other modalities. The devices 870 may be another machine or any of awide variety of peripheral devices (e.g., a peripheral device coupledvia a universal serial bus (USB)).

Executable Instructions and Machine Storage Medium

The various memories (e.g., 830, 832, 834, and/or memory of theprocessor(s) 810) and/or the storage unit 836 may store one or more setsof instructions 816 and data structures (e.g., software) embodying orutilized by any one or more of the methodologies or functions describedherein. These instructions, when executed by the processor(s) 810, causevarious operations to implement the disclosed embodiments.

As used herein, the terms “machine-storage medium,” “device-storagemedium,” and “computer-storage medium” mean the same thing and may beused interchangeably in this disclosure. The terms refer to a single ormultiple storage devices and/or media (e.g., a centralized ordistributed database, and/or associated caches and servers) that storeexecutable instructions and/or data. The terms shall accordingly betaken to include, but not be limited to, solid-state memories, andoptical and magnetic media, including memory internal or external toprocessors. Specific examples of machine-storage media, computer-storagemedia, and/or device-storage media include non-volatile memory,including by way of example semiconductor memory devices, e.g., erasableprogrammable read-only memory (EPROM), electrically erasableprogrammable read-only memory (EEPROM), field-programmable gate arrays(FPGAs), and flash memory devices; magnetic disks such as internal harddisks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROMdisks. The terms “machine-storage media,” “computer-storage media,” and“device-storage media” specifically exclude carrier waves, modulateddata signals, and other such media, at least some of which are coveredunder the term “signal medium” discussed below.

Transmission Medium

In various example embodiments, one or more portions of the network 880may be an ad hoc network, an intranet, an extranet, a virtual privatenetwork (VPN), a local-area network (LAN), a wireless LAN (WLAN), awide-area network (WAN), a wireless WAN (WWAN), a metropolitan-areanetwork (MAN), the Internet, a portion of the Internet, a portion of thepublic switched telephone network (PSTN), a plain old telephone service(POTS) network, a cellular telephone network, a wireless network, aWi-Fi® network, another type of network, or a combination of two or moresuch networks. For example, the network 880 or a portion of the network880 may include a wireless or cellular network, and the coupling 882 maybe a Code Division Multiple Access (CDMA) connection, a Global Systemfor Mobile communications (GSM) connection, or another type of cellularor wireless coupling. In this example, the coupling 882 may implementany of a variety of types of data transfer technology, such as SingleCarrier Radio Transmission Technology (1×RTT), Evolution-Data Optimized(EVDO) technology, General Packet Radio Service (GPRS) technology,Enhanced Data rates for GSM Evolution (EDGE) technology, thirdGeneration Partnership Project (3GPP) including 3G, fourth generationwireless (4G) networks, Universal Mobile Telecommunications System(UMTS), High-Speed Packet Access (HSPA), Worldwide Interoperability forMicrowave Access (WiMAX), Long Term Evolution (LTE) standard, othersdefined by various standard-setting organizations, other long-rangeprotocols, or other data transfer technology.

The instructions 816 may be transmitted or received over the network 880using a transmission medium via a network interface device (e.g., anetwork interface component included in the communication components864) and utilizing any one of a number of well-known transfer protocols(e.g., hypertext transfer protocol (HTTP)). Similarly, the instructions816 may be transmitted or received using a transmission medium via thecoupling 872 (e.g., a peer-to-peer coupling) to the devices 870. Theterms “transmission medium” and “signal medium” mean the same thing andmay be used interchangeably in this disclosure. The terms “transmissionmedium” and “signal medium” shall be taken to include any intangiblemedium that is capable of storing, encoding, or carrying theinstructions 816 for execution by the machine 800, and include digitalor analog communications signals or other intangible media to facilitatecommunication of such software. Hence, the terms “transmission medium”and “signal medium” shall be taken to include any form of modulated datasignal, carrier wave, and so forth. The term “modulated data signal”means a signal that has one or more of its characteristics set orchanged in such a manner as to encode information in the signal.

Computer-Readable Medium

The terms “machine-readable medium,” “computer-readable medium,” and“device-readable medium” mean the same thing and may be usedinterchangeably in this disclosure. The terms are defined to includeboth machine-storage media and transmission media. Thus, the termsinclude both storage devices/media and carrier waves/modulated datasignals.

The various operations of example methods described herein may beperformed, at least partially, by one or more processors that aretemporarily configured (e.g., by software) or permanently configured toperform the relevant operations. Similarly, the methods described hereinmay be at least partially processor-implemented. For example, at leastsome of the operations of a method may be performed by one or moreprocessors. The performance of certain of the operations may bedistributed among the one or more processors, not only residing within asingle machine, but deployed across a number of machines. In someexample embodiments, the processor or processors may be located in asingle location (e.g., within a home environment, an office environment,or a server farm), while in other embodiments the processors may bedistributed across a number of locations.

Although the embodiments of the present disclosure have been describedwith reference to specific example embodiments, it will be evident thatvarious modifications and changes may be made to these embodimentswithout departing from the broader scope of the inventive subjectmatter. Accordingly, the specification and drawings are to be regardedin an illustrative rather than a restrictive sense. The accompanyingdrawings that form a part hereof show, by way of illustration, and notof limitation, specific embodiments in which the subject matter may bepracticed. The embodiments illustrated are described in sufficientdetail to enable those skilled in the art to practice the teachingsdisclosed herein. Other embodiments may be used and derived therefrom,such that structural and logical substitutions and changes may be madewithout departing from the scope of this disclosure. This DetailedDescription, therefore, is not to be taken in a limiting sense, and thescope of various embodiments is defined only by the appended claims,along with the full range of equivalents to which such claims areentitled.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent, to those of skill inthe art, upon reviewing the above description.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In thisdocument, the term “or” is used to refer to a nonexclusive or, such that“A or B” includes “A but not B,” “B but not A,” and “A and B,” unlessotherwise indicated. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Also, in the following claims, theterms “including” and “comprising” are open-ended; that is, a system,device, article, or process that includes elements in addition to thoselisted after such a term in a claim is still deemed to fall within thescope of that claim.

1-20. (canceled)
 21. A light detection and ranging (Lidar) systemcomprising: one or more Lidar sensor units configured to: transmit afirst light signal and a second light signal towards an environment; andin response to the first light signal and the second light signal,respectively, receive a first return signal and a second return signalthat are reflected by an object in the environment; and one or moreprocessors configured to: determine a first reflectivity valueassociated with the object based on the first return signal and a secondreflectivity value associated with the object based on the second returnsignal; determine a reflectivity characteristic of the object based onthe first reflectivity value and the second reflectivity value; andprovide the reflectivity characteristic of the object to an autonomousvehicle control system.
 22. The Lidar system of claim 21, wherein todetermine the reflectivity characteristic of the object based on thefirst reflectivity value and the second reflectivity value, the one ormore processors are configured to: compare the first reflectivity valueand the second reflectivity value to a threshold value.
 23. The Lidarsystem of claim 22, wherein to determine the reflectivitycharacteristic, the one or more processors are configured to classifythe reflectivity characteristic of the object as diffuse in response todetermining the first reflectivity value or the second reflectivityvalue is less than the threshold value.
 24. The Lidar system of claim22, wherein to determine the reflectivity characteristic of the object,the one or more processors are configured to classify the reflectivitycharacteristic of the object as specular in response to determining thefirst reflectivity value or the second reflectivity value is greaterthan the threshold value.
 25. The Lidar system of claim 22, wherein thethreshold value corresponds to a level of specular reflectivity.
 26. TheLidar system of claim 21, wherein: the first return signal is receivedat a first channel of a first Lidar sensor unit of the one or more Lidarsensor units; and the second return signal is received at a secondchannel of the first Lidar sensor unit.
 27. The Lidar system of claim21, wherein: the first return signal is received at a first point intime; and the second return signal is received at a second point intime, the second point in time being later than the first point in time.28. The Lidar system of claim 21, wherein: the first return signal isreceived at a first Lidar sensor unit of the one or more Lidar sensorunits; and the second return signal is received at a second Lidar sensorunit of the one or more Lidar sensor units.
 29. The Lidar system ofclaim 21, wherein the one or more processors are further configured to:obtain point data from at least one Lidar sensor unit of the one or moreLidar sensor units; determine at least a portion of the point datacorresponds to the object; and in response to determining the at least aportion of the point data corresponds to the object, process the pointdata based on the reflectivity characteristic of the object.
 30. TheLidar system of claim 29, wherein to process the point data based on thereflectivity characteristic, the one or more processors are configuredto filter the point data based on the reflectivity characteristic. 31.An autonomous vehicle control system configured to control a vehicle,the autonomous vehicle control system comprising: a light detection andranging (Lidar) system comprising one or more Lidar sensor unitsconfigured to: transmit a first light signal and a second light signaltowards an environment; and in response to the first light signal andthe second light signal, respectively, receive a first return signal anda second return signal that are reflected by an object in theenvironment; and one or more processors configured to: determine a firstreflectivity value associated with the object based on the first returnsignal and a second reflectivity value associated with the object basedon the second return signal; determine a reflectivity characteristic ofthe object based on the first reflectivity value and the secondreflectivity value; and update a motion plan for the vehicle based onthe reflectivity characteristic, the motion plan comprising a motiontrajectory for controlling the vehicle.
 32. The autonomous vehiclecontrol system of claim 31, wherein to determine the reflectivitycharacteristic of the object based on the first reflectivity value andthe second reflectivity value, the one or more processors are configuredto: compare the first reflectivity value and the second reflectivityvalue to a threshold value.
 33. The autonomous vehicle control system ofclaim 32, wherein to determine the reflectivity characteristic, the oneor more processors are configured to classify the reflectivitycharacteristic of the object as diffuse in response to determining thefirst reflectivity value or the second reflectivity value is less thanthe threshold value.
 34. The autonomous vehicle control system of claim32, wherein to determine the reflectivity characteristic of the object,the one or more processors are configured to classify the reflectivitycharacteristic of the object as specular in response to determining thefirst reflectivity value or the second reflectivity value is greaterthan the threshold value.
 35. The autonomous vehicle control system ofclaim 32, wherein the threshold value corresponds to a level of specularreflectivity.
 36. The autonomous vehicle control system of claim 31,wherein: the first return signal is received at a first channel of afirst Lidar sensor unit of the one or more Lidar sensor units; and thesecond return signal is received at a second channel of the first Lidarsensor unit.
 37. The autonomous vehicle control system of claim 31,wherein the one or more processors are further configured to: obtainpoint data from at least one Lidar sensor unit of the one or more Lidarsensor units; determine at least a portion of the point data correspondsto the object; and in response to determining the at least a portion ofthe point data corresponds to the object, process the point data basedon the reflectivity characteristic of the object.
 38. The autonomousvehicle control system of claim 37, wherein to process the point databased on the reflectivity characteristic, the one or more processors areconfigured to filter the point data based on the reflectivitycharacteristic.
 39. The autonomous vehicle control system of claim 31,wherein: the first return signal is received at a first point in time;and the second return signal is received at a second point in time, thesecond point in time being later than the first point in time.
 40. Anautonomous vehicle comprising: a light detection and ranging (Lidar)system comprising one or more Lidar sensor units configured to: transmita first light signal and a second light signal towards an environment;and in response to the first light signal and the second light signal,respectively, receive a first return signal and a second return signalthat are reflected by an object in the environment; and one or moreprocessors configured to: determine a first reflectivity valueassociated with the object based on the first return signal and a secondreflectivity value associated with the object based on the second returnsignal; determine a reflectivity characteristic of the object based onthe first reflectivity value and the second reflectivity value; andupdate a motion plan for the autonomous vehicle based on thereflectivity characteristic, the motion plan comprising a motiontrajectory for controlling the autonomous vehicle.